/**
 * Reflect是一个对象
 * Reflect 一般和Proxy共同使用
 * Reflect 返回的是boolean类型更好判断
 * 一般代理不直接改变原对象 而是通过Reflect去改变
 * */

const obj = {
  name:'cs',
  age:10
}

const objProxy = new Proxy(obj,{
  get(target, p, receiver) {
    console.log(`监听：读取${p}`)
    return Reflect.get(target,p)
  },
  set(target, p, newValue, receiver) {
    console.log(`监听：设置${p}`)
    Reflect.set(target,p,newValue)
  }
})

objProxy.name = 'css'
console.log(obj,objProxy.name)

function Animal(name){
  this.name = name
}

